package com.own.aop.permission;

import com.own.constant.ConstantAccount;

import java.lang.annotation.ElementType;
import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * PermissionOperation
 *
 * @author chenxueli
 * @date 2022-08-18 15:44:00
 */
@Target(ElementType.METHOD)
@Retention(value = RetentionPolicy.RUNTIME)
@Repeatable(PermissionOperations.class)
public @interface PermissionOperation {

    /**
     * 模块名称
     *
     * @return 模块名称
     */
    String module() default "";

    /**
     * 角色名称信息
     *
     * @return 角色名称信息
     */
    String value();

    /**
     * 账号类型
     *
     * @return 账号类型 1=普通用户 2=管理员
     */
    int accountType() default ConstantAccount.Type.ADMIN;

}
